# -*- coding: utf-8 -*-
"""
 @Time    : 2021/1/30 下午4:20
 @Author  : tgy
 
"""

class Index:

    def __index__(self):
        print('111')
        return 1

class Person:

    def __init__(self,name):
        self.name = name

    def __getitem__(self, item):
        print(item)
        return self.name[item]

    # def __bool__(self):
    #     print('90')
    #     return False

    def __len__(self):
        print('__len__')
        return 1


if __name__ == '__main__':
    ...
    per = Person('tony')
    print(per[Index()])
    print(per[1:4])
    print(hex(Index()))
    # object
    # 这里会调用 bool(per) 判断是否为False/True，如果在per中存在 __bool__函数，就使用函数的返回值，如果不存在，就调用per的__len__是否大于零，
    if per:
        print('xxx')